home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / asm / pack / fuk / fuck_dec.s next >
Text File  |  1980-01-03  |  2KB  |  108 lines

  1. *******************************************************************************
  2. * The [FUCK] Decruncher...
  3. * ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  4. *******************************************************************************
  5.  
  6. _Unpack:    movem.l    d2-d7/a0-a6,-(sp)
  7.         sub.l    d1,a1
  8.         lea    Pk2(pc),a3
  9.         move.l    a1,(a3)
  10.         move.l    a1,a0
  11.         cmp.l    #'FUCK',(a1)
  12.         bne    uc16
  13.         move.l    a0,a2
  14.         move.l    d1,d0
  15.         add.l    d0,a0
  16.         lea    4(a2),a3
  17. uc2:        move.b    (a3)+,(a2)+
  18.         subq.l    #1,d0
  19.         bne.s    uc2
  20.         subq.l    #8,a0
  21.         move.l    -(a0),a2
  22.         lea    Pk1(pc),a3
  23.         move.l    a2,(a3)
  24.         add.l    a1,a2
  25.         move.l    -(a0),d5
  26.         move.l    -(a0),d0
  27.         eor.l    d0,d5
  28. uc3:        lsr.l    #1,d0
  29.         bne.s    uc4
  30.         bsr    uc17
  31. uc4:        bcs.s    uc11
  32.         moveq    #8,d1
  33.         moveq    #1,d3
  34.         lsr.l    #1,d0
  35.         bne.s    uc5
  36.         bsr.s    uc17
  37. uc5:        bcs.s    uc13
  38.         moveq    #3,d1
  39.         moveq    #0,d4
  40. uc6:        bsr.s    uc18
  41.         move.w    d2,d3
  42.         add.w    d4,d3
  43. uc7:        moveq    #7,d1
  44. uc8:        lsr.l    #1,d0
  45.         bne.s    uc9
  46.         bsr.s    uc17
  47. uc9:        roxl.l    #1,d2
  48.         dbra    d1,uc8
  49.         move.b    d2,-(a2)
  50.         dbra    d3,uc7
  51.         bra.s    uc15
  52.  
  53. uc10:        moveq    #8,d1
  54.         moveq    #8,d4
  55.         bra.s    uc6
  56.  
  57. uc11:        moveq    #2,d1
  58.         bsr.s    uc18
  59.         cmp.b    #2,d2
  60.         blt.s    uc12
  61.         cmp.b    #3,d2
  62.         beq.s    uc10
  63.         moveq    #8,d1
  64.         bsr.s    uc18
  65.         move.w    d2,d3
  66.         move.w    #12,d1
  67.         bra.s    uc13
  68.  
  69. uc12:        moveq    #9,d1
  70.         add.w    d2,d1
  71.         addq.w    #2,d2
  72.         move.w    d2,d3
  73. uc13:        bsr.s    uc18
  74. uc14:        subq.w    #1,a2
  75.         move.b    0(a2,d2.w),(a2)
  76.         dbra    d3,uc14
  77. uc15:        cmp.l    a2,a1
  78.         blt    uc3
  79.         move.l    Pk1(pc),d1
  80. uc16:        movem.l    (sp)+,d2-d7/a0-a6
  81.         move.l    Pk2(pc),a1
  82.         add.l    d1,a1
  83.         moveq    #0,d0
  84.         rts
  85.  
  86. uc17:        move.l    -(a0),d0
  87.         eor.l    d0,d5
  88.         move.w    #$10,ccr
  89.         roxr.l    #1,d0
  90.         rts
  91.  
  92. uc18:        subq.w    #1,d1
  93.         moveq    #0,d2
  94. uc19:        lsr.l    #1,d0
  95.         bne.s    uc20
  96.         move.l    -(a0),d0
  97.         eor.l    d0,d5
  98.         move.w    #$10,ccr
  99.         roxr.l    #1,d0
  100. uc20:        roxl.l    #1,d2
  101.         dbra    d1,uc19
  102.         rts
  103.  
  104. Pk1:        dc.l    0
  105. Pk2:        dc.l    0
  106.  
  107.         end
  108.